1. Field of the Invention
This invention relates to a microprocessor, and more particularly to a microprocessor having an improved functional redundancy monitor (FRM) mode arrangement through which a highly reliable multiple processor system can be realized.
2. Description of the Prior Art
With the recent noticeable developments in microprocessor systems, a variety of extensive applications thereof have been found in arrangements such as electronic telephone exchanges, bank on-line teller systems, medical apparatus, etc. However, computer systems for use in such arrangements are required to exhibit strictly reliable operation.
One approach to meeting this strict reliability requirement is to utilize a multiple processor system, in which two processors are included and are arranged to operate independently of one another in different modes (viz., normal and FRM modes). This enables the operation of the processors to be monitored and any abnormalities detected. More specifically, the execution results (addresses and/or data obtained by instruction execution) of the two processors are compared within the FRM mode processor to determine the presence or absence of a malfunction and/or abnormality. These two processors are interconnected through address, data and control buses.
A normal mode processor performs the usual overall system control by outputting an address for fetching an instruction(s) designated thereby, driving the above-mentioned buses and fetching the instruction(s) from a program memory, executing the fetched instruction(s), and again driving the buses for reading data from the memory or writing data thereinto.
On the other hand, the FRM mode processor, operates independently of the normal mode processor but in exactly the same manner. That is to say, the FRM mode processor generates an address for fetching the same instruction(s) as the normal mode processor, fetches and executes. However, the FRM mode processor doos not access either the memory or the peripheral units, viz., it drives neither of the above-mentioned buses for said purposes. The FRM mode processor receives the execution results from the normal mode processor, and compares them with those generated therewithin. In the event that the execution results of the two processors do not coincide, the FRM processor outputs a mismatch signal which is applied to a system control unit, which in turn temporarily freezes the operations of the two processors and subsequently restarts them.
Before discussing the present invention in detail, a known processor operating in an FRM mode will be described with reference to FIGS. 1, 2 and 3, in which FIGS. 2 and 3 will again be referred to later in connection with the present invention.
FIG. 1 is a block diagram schematically showing a multiple processor system 10 including two processors 12 and 14.
Referring now to FIG. 1, the two processors 12 and 14 have the same configuration. Each of the processors 12 and 14 has data terminals (DT), address terminals (AT) and control terminals (CT), which are respectively coupled to data, address and control buses 16, 18 and 20 in the illustrated manner. Further, a memory 34 for storing an execution program(s) and peripheral units 36 are provided. It is assumed that the processors 12 and 14 operate in normal and FRM mode, respectively.
The processor 12 is provided with a terminal 24A arranged to receive a mode designation signal (NFMD). When this signal assumes a logic "1" (for example) the processor 12 is induced to operate in a normal mode. The processor 12 further has a freeze terminal 26A and a match/mismatch terminal 28A. The freeze terminal 26A receives, from a system control unit 32, a freeze signal (BFREZ) which temporarily stops the operation of the processor 12 in the event that a mismatch is detected between the execution results of the two processors 12 and 14. It should be noted that the processor 12 has been assumed to operate in a normal mode with the match/mismatch terminal 28A open (namely not in use). The terminals 24A, 26A are coupled to the system control unit 32. Further, a clock generator 30 is coupled to the processor 12 by means of a clock terminal 22A. One of control signals generated from the control terminals CT is a bus cycle start signal BCYST indicative of the beginning of each bus cycle. The signal BCYST is applied to the system control unit 32.
Similarly, the other processor 14 is provided with a plurality of terminals 22B, 24B, 26B and 28B, which correspond to the terminals 22A, 24A, 26A and 28A of the processor 12, respectively. The processor 14 is induced to operate in an FRM mode in response to a mode designation signal (NFMD) which assumes a logic "0" (for example). In the FIG. 1 arrangement a match/mismatch signal is applied from the processor 14 to the system control unit 32 via the terminal 28B.
FIG. 2 is a block diagram showing the processor 14 in FIG. 1. Processor 12 features the same arrangement as processor 14 and hence details of its construction are not shown in FIG. 2 for brevity.
As shown in FIG. 2, the processor 14 includes a bus control unit 40 for controlling the buses DT, AT and CT by way of an FRM circuit 42, an instruction prefetch unit 44, an instruction decoder 46 for decoding instructions applied from the unit 44, an effective address unit 48 for determining effective addresses for operand data, and an execution unit 50. These circuits are coupled as shown. The above-mentioned circuits 40, 44, 46, 48 and 50 are well known to those in the art. Accordingly, a detailed description thereof is omitted for simplicity.
The FRM circuit 42 is provided between the bus control unit 40 and the buses DT, AT and CT via a plurality of terminals 60A-60N. As previously mentioned, the processor 14 operates in an FRM mode in response to the NFMD signal, which is applied to the FRM circuit 42 through the terminal 24B, assuming a logic "0". The match/mismatch signal, generated from the FRM circuit 42, will now be described in detail with reference to FIG. 3.
FIG. 3 is a block diagram showing a known FRM circuit 42' and the bus control unit 40', which form part of the processor 14 (FIG. 2) and which respectively correspond to the circuit 42 and the unit 40 in FIG. 2. It should be noted that (a) the other circuits 44, 46 and 50 of the processor 14 (FIG. 2) are omitted in that they are applicable to the FIG. 3 arrangement with no modifications and (b) only an output stage of the unit 40' is illustrated in FIG. 3. It is assumed that the processor 14 is a 32 bit type.
The FRM circuit 42' includes two output drivers 70 and 72, two comparators 74 and 76 each of which performs bit-by-bit comparison between data applied thereto. This circuit further includes a coincidence circuit 78 having input terminals coupled to the outputs of the comparators 74 and 76. The output (viz., the match/mismatch signal) of the coincidence circuit 78 is applied via the terminal 28B to the system control unit 32 (FIG. 1). Each of the output drivers 70, 72 includes a latch and a three-state bus driver (both not shown). On the other hand, the bus control unit 40' has an output stage including two output buffers 80 and 82, which store the execution results (data and addresses) obtained within the processor 14 itself. In more detail the output buffer 80 stores operand data, while the output buffer 82 stores address data. The output buffers 80 and 82 are respectively coupled to the comparators 74 and 76, and apply their contents to the comparators 74 and 76, respectively.
As previously mentioned, the processor 14 operates in an FRM mode in response to the NFMD assuming a logic "0". In such a case, the output drivers 70 and 72 are disabled whereby the operand and address data from the output buffers 80, 82 are not applied to the terminals 60A, 60N. On the other hand, in the case that the processor 14 operates in a normal mode in response to the NFMD assuming a logic "1", the output drivers 70, 72 are enabled permitting the contents of the output buffers 80, 82 to be applied to the buses DT and AT by way of the terminals 60A and 60N.
The coincidence circuit 78 is supplied with the outputs of the comparators 74, 76. In the event that all the comparators 74, 76 indicate coincidence, the circuit 78 outputs a match signal. In the absence of total coincidence, the coincidence circuit 78 generates a mismatch signal. These match and mismatch signals correspond to a match/mismatch signal which assumes logic "1" and "0" (by way of example only). In response to the mismatch signal the system control unit 32 (FIG. 1) applies the BFREZ signal to the processors 12, 14 in order to temporarily stop the operations thereof. Thereafter, the processors 12, 14 restart their operation.
However, the known arrangement shown in FIG. 3 has encountered the following difficulty. In the event that an erroneous signal appears at the output of the comparator 74 due to executing a write instruction on data which does not amount to a full 32 bits immediately after a restart, an erroneous output from the comparator 74 causes the coincidence circuit 78 to output a mismatch signal. In other words, in the event that (a) an output buffer 80 stores data which amounts to a full 32 bits at the time the processors 12, 14 cease their operations and (b) the output buffer 80 retains the data when the processors 12, 14 restart their operations after a given time interval, then there is the possibility that a mismatch signal is again generated irrespective of the normal operations of the processors 12, 14 when the processors 12, 14 actually taking place.